[XEN] Don't pass spurious reserved-bit faults to the guest
authorTim Deegan <Tim.Deegan@xensource.com>
Tue, 14 Nov 2006 11:52:38 +0000 (11:52 +0000)
committerTim Deegan <Tim.Deegan@xensource.com>
Tue, 14 Nov 2006 11:52:38 +0000 (11:52 +0000)
since x86_64 linux can't handle them.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
xen/arch/x86/mm/shadow/multi.c

index 7da1b7a6ac90f9236cd4b56f515527ed1cc3d34c..c8dfa28d6a40823413a0932609c71588a3d08d4f 100644 (file)
@@ -2623,6 +2623,10 @@ static int sh_page_fault(struct vcpu *v,
              * Fall through to the normal fault handing logic */
             perfc_incrc(shadow_fault_fast_fail);
             SHADOW_PRINTK("fast path false alarm!\n");
+            /* Don't pass the reserved-bit bit: if we look at the fault 
+             * below and decide to pass it to the guest, the reserved-bit
+             * bit won't make sense there. */
+            regs->error_code &= ~PFEC_reserved_bit;
         }
     }
 #endif /* SHOPT_FAST_FAULT_PATH */